package com.qdlc.p2p.biz.service;

import java.util.List;

import com.qdlc.p2p.common.core.ReturnResult;
import com.qdlc.p2p.dal.dto.User;
import com.qdlc.p2p.dal.model.AccountBankModel;
import com.qdlc.p2p.dal.param.BindingCardReqestParam;

public interface BindingCardService {

	/**
	 * [绑卡] 获取绑卡手机验证码
	 * 保存AccountBank对象
	 * @param user
	 * @param bindingCardParam
	 * @return
	 * @author linya
	 */
	ReturnResult bindingBardForPhoneCode(User user, BindingCardReqestParam bindingCardParam);

	/**
	 * [绑卡] 绑卡推进
	 * @param user
	 * @param bindingCardParam
	 * @param ticket
	 * @param phoneCode
	 * @return
	 * @author linya
	 */
	ReturnResult bindingBankCardAdvance(User user, BindingCardReqestParam bindingCardParam, String ticket, String phoneCode);

	/**
	 * [解卡] 获取解绑短信验证码
	 * @param user
	 * @param bankNo
	 * @return
	 */
	ReturnResult disableBankForPhoneCode(User user);

	/**
	 * [解卡] 解除绑卡
	 * @param user
	 * @param bankNo
	 * @return
	 * @author linya
	 */
	ReturnResult disableBank(User user, String bankNo, String phoneCode);

	/**
	 * [绑卡] 查询已经绑定的卡，正在提现的卡会设置不能解绑
	 * @param user
	 * @return
	 */
	List<AccountBankModel> findCardByUserId(User user);

	/**
	 * [企业用户解绑] 获取绑卡手机验证码
	 * 保存AccountBank对象
	 * @param user
	 * @return
	 * @author hongbinglin
	 */
	ReturnResult disableBardForPhoneCode(User user);

	/**
	 * [企业用户解卡] 解除绑卡
	 * @param user
	 * @return
	 * @author hongbinglin
	 */
	ReturnResult disableBankForEnterprise(User user, String phoneCode);

}
